﻿/***
ComplexString
创建人：ZЁЯ¤　身高：168cm+；体重：57kg+；未婚（已有女友）；最爱的运动：睡觉；格言：路见不平，拔腿就跑。QQ：358315553。
创建时间：2011年6月23日 09:27:16
简要说明：这家伙很懒什么都没写。
用法举例：这家伙还是很懒什么都没写。
*/

package zero{
	import flash.display.*;
	import flash.events.*;
	import flash.geom.*;
	import flash.net.*;
	import flash.system.*;
	import flash.text.*;
	import flash.utils.*;
	
	public class ComplexString{
		//str="\b\f\n\r\t\v";
		//trace(str);/*
		//
		//*/
		//str=complexString.escape(str);
		//trace(str);//\b\f\n\r\t\v
		//str=complexString.escape(str);
		//trace(str);//\\b\\f\\n\\r\\t\\v	//反复 escape() 会继续引起变化
		//str=complexString.unescape(str);
		//trace(str);//\b\f\n\r\t\v
		//str=complexString.unescape(str);
		//trace(str);/*
		//
		//*/								//反复 unescape() 会继续引起变化
		
		//public static const normal:ComplexString=new ComplexString(["\"","'"]);
		//public static const ext:ComplexString=new ComplexString(["[","]","<",">","(",")","{","}",",","="]);
		
		public var escapeV:Vector.<String>;
		private var unescape_mark:Object;
		public var extendsCArr:Array;
		public function ComplexString(_extendsCArr:Array=null){
			extendsCArr=_extendsCArr;
			
			escapeV=new <String>[
				"\\x00",//\x00
				"\\x01",//
				"\\x02",//
				"\\x03",//
				"\\x04",//
				"\\x05",//
				"\\x06",//
				"\\x07",//
				"\\b",//\b,\x08
				"\\t",//\t,\x09
				"\\n",//\n,\x0a
				"\\v",//\v,\x0b
				"\\f",//\f,\x0c
				"\\r",//\r,\x0d
				"\\x0e",//
				"\\x0f",//
				"\\x10",//
				"\\x11",//
				"\\x12",//
				"\\x13",//
				"\\x14",//
				"\\x15",//
				"\\x16",//
				"\\x17",//
				"\\x18",//
				"\\x19",//
				"\\x1a",//
				"\\x1b",//
				"\\x1c",//
				"\\x1d",//
				"\\x1e",//
				"\\x1f",//
				" ",//\x20
				"!",//\x21
				"\"",//\x22
				"#",//\x23
				"$",//\x24
				"%",//\x25
				"&",//\x26
				"'",//\x27
				"(",//\x28
				")",//\x29
				"*",//\x2a
				"+",//\x2b
				",",//\x2c
				"-",//\x2d
				".",//\x2e
				"/",//\x2f
				"0",//\x30
				"1",//\x31
				"2",//\x32
				"3",//\x33
				"4",//\x34
				"5",//\x35
				"6",//\x36
				"7",//\x37
				"8",//\x38
				"9",//\x39
				":",//\x3a
				";",//\x3b
				"<",//\x3c
				"=",//\x3d
				">",//\x3e
				"?",//\x3f
				"@",//\x40
				"A",//\x41
				"B",//\x42
				"C",//\x43
				"D",//\x44
				"E",//\x45
				"F",//\x46
				"G",//\x47
				"H",//\x48
				"I",//\x49
				"J",//\x4a
				"K",//\x4b
				"L",//\x4c
				"M",//\x4d
				"N",//\x4e
				"O",//\x4f
				"P",//\x50
				"Q",//\x51
				"R",//\x52
				"S",//\x53
				"T",//\x54
				"U",//\x55
				"V",//\x56
				"W",//\x57
				"X",//\x58
				"Y",//\x59
				"Z",//\x5a
				"[",//\x5b
				"\\\\",//\\,x5c
				"]",//\x5d
				"^",//\x5e
				"_",//\x5f
				"`",//\x60
				"a",//\x61
				"b",//\x62
				"c",//\x63
				"d",//\x64
				"e",//\x65
				"f",//\x66
				"g",//\x67
				"h",//\x68
				"i",//\x69
				"j",//\x6a
				"k",//\x6b
				"l",//\x6c
				"m",//\x6d
				"n",//\x6e
				"o",//\x6f
				"p",//\x70
				"q",//\x71
				"r",//\x72
				"s",//\x73
				"t",//\x74
				"u",//\x75
				"v",//\x76
				"w",//\x77
				"x",//\x78
				"y",//\x79
				"z",//\x7a
				"{",//\x7b
				"|",//\x7c
				"}",//\x7d
				"~",//\x7e
				"\\x7f",//
				"\\x80",//
				"\\x81",//
				"\\x82",//
				"\\x83",//
				"\\x84",//
				"\\x85",//
				"\\x86",//
				"\\x87",//
				"\\x88",//
				"\\x89",//
				"\\x8a",//
				"\\x8b",//
				"\\x8c",//
				"\\x8d",//
				"\\x8e",//
				"\\x8f",//
				"\\x90",//
				"\\x91",//
				"\\x92",//
				"\\x93",//
				"\\x94",//
				"\\x95",//
				"\\x96",//
				"\\x97",//
				"\\x98",//
				"\\x99",//
				"\\x9a",//
				"\\x9b",//
				"\\x9c",//
				"\\x9d",//
				"\\x9e",//
				"\\x9f",//
				"\\xa0",// 
				"\\xa1",//¡
				"\\xa2",//¢
				"\\xa3",//£
				"\\xa4",//¤
				"\\xa5",//¥
				"\\xa6",//¦
				"\\xa7",//§
				"\\xa8",//¨
				"\\xa9",//©
				"\\xaa",//ª
				"\\xab",//«
				"\\xac",//¬
				"\\xad",//­
				"\\xae",//®
				"\\xaf",//¯
				"\\xb0",//°
				"\\xb1",//±
				"\\xb2",//²
				"\\xb3",//³
				"\\xb4",//´
				"\\xb5",//µ
				"\\xb6",//¶
				"\\xb7",//·
				"\\xb8",//¸
				"\\xb9",//¹
				"\\xba",//º
				"\\xbb",//»
				"\\xbc",//¼
				"\\xbd",//½
				"\\xbe",//¾
				"\\xbf",//¿
				"\\xc0",//À
				"\\xc1",//Á
				"\\xc2",//Â
				"\\xc3",//Ã
				"\\xc4",//Ä
				"\\xc5",//Å
				"\\xc6",//Æ
				"\\xc7",//Ç
				"\\xc8",//È
				"\\xc9",//É
				"\\xca",//Ê
				"\\xcb",//Ë
				"\\xcc",//Ì
				"\\xcd",//Í
				"\\xce",//Î
				"\\xcf",//Ï
				"\\xd0",//Ð
				"\\xd1",//Ñ
				"\\xd2",//Ò
				"\\xd3",//Ó
				"\\xd4",//Ô
				"\\xd5",//Õ
				"\\xd6",//Ö
				"\\xd7",//×
				"\\xd8",//Ø
				"\\xd9",//Ù
				"\\xda",//Ú
				"\\xdb",//Û
				"\\xdc",//Ü
				"\\xdd",//Ý
				"\\xde",//Þ
				"\\xdf",//ß
				"\\xe0",//à
				"\\xe1",//á
				"\\xe2",//â
				"\\xe3",//ã
				"\\xe4",//ä
				"\\xe5",//å
				"\\xe6",//æ
				"\\xe7",//ç
				"\\xe8",//è
				"\\xe9",//é
				"\\xea",//ê
				"\\xeb",//ë
				"\\xec",//ì
				"\\xed",//í
				"\\xee",//î
				"\\xef",//ï
				"\\xf0",//ð
				"\\xf1",//ñ
				"\\xf2",//ò
				"\\xf3",//ó
				"\\xf4",//ô
				"\\xf5",//õ
				"\\xf6",//ö
				"\\xf7",//÷
				"\\xf8",//ø
				"\\xf9",//ù
				"\\xfa",//ú
				"\\xfb",//û
				"\\xfc",//ü
				"\\xfd",//ý
				"\\xfe",//þ
				"\\xff"//ÿ
			];

			unescape_mark=new Object();
			
			unescape_mark["\\b"]="\b";
			unescape_mark["\\t"]="\t";
			unescape_mark["\\n"]="\n";
			unescape_mark["\\v"]="\v";
			unescape_mark["\\f"]="\f";
			unescape_mark["\\r"]="\r";
			unescape_mark["\\\\"]="\\";
			
			for each(var extendsC:String in extendsCArr){
				var cCode:int=extendsC.charCodeAt(0);
				if(escapeV.length<cCode){
					escapeV.length=cCode;
				}
				escapeV[cCode]="\\"+extendsC;
				unescape_mark["\\"+extendsC]=extendsC;
			}
			
		}

		public function escape(str:String):String{
			if(str){
				var cArr:Array=str.split("");
				str="";
				for each(var c:String in cArr){
					var cCode:int=c.charCodeAt(0);
					if(cCode<escapeV.length&&escapeV[cCode]){
						str+=escapeV[cCode];
					}else{
						str+=c;
					}
					/*if(cCode<0x100){
						//0x00~0xff
						str+=escapeV[cCode];
					}else if(cCode>=0x3000){
						//0x3000~0xffff
						str+=c;
					}else if(cCode<0x1000){
						//0x0100~0x0fff
						str+="\\u0"+cCode.toString(16);
					}else{
						//0x1000~0x2fff
						str+="\\u"+cCode.toString(16);
					}else{
						str+=c;
					}*/
				}
			}
			return str;
		}
		
		public function unescape(str:String):String{
			if(str){
				var cArr:Array=str.split("");
				str="";
				var L:int=cArr.length;
				var i:int=-1;
				while(++i<L){
					var c1:String=cArr[i];
					if(c1=="\\"){
						var c2:String=cArr[i+1];
						if(c2=="x"){
							var cCodeStr:String=cArr[i+2]+cArr[i+3];
							if(/^[0-9A-Fa-f]{2}$/.test(cCodeStr)){
								str+=String.fromCharCode(int("0x"+cCodeStr));
								i+=3;
							}else{
								str+="x";
								i++;
							}
						}else if(c2=="u"){
							cCodeStr=cArr[i+2]+cArr[i+3]+cArr[i+4]+cArr[i+5];
							if(/^[0-9A-Fa-f]{4}$/.test(cCodeStr)){
								str+=String.fromCharCode(int("0x"+cCodeStr));
								i+=5;
							}else{
								str+="u";
								i++;
							}
						}else if(c2){
							str+=(unescape_mark["\\"+c2]||c2);
							i++;
						}else{
							str+="\\";
						}
					}else{
						str+=c1;
					}
				}
			}
			return str;
		}
	}
}

//转义：
//\b,\f,\n,\r,\t,\v,\\

//0(0x00):"\x00"
//1(0x01):""
//2(0x02):""
//3(0x03):""
//4(0x04):""
//5(0x05):""
//6(0x06):""
//7(0x07):""
//8(0x08):""
//9(0x09):"	"
//10(0x0a):"\n"
//11(0x0b):""
//12(0x0c):""
//13(0x0d):"\r"
//14(0x0e):""
//15(0x0f):""
//16(0x10):""
//17(0x11):""
//18(0x12):""
//19(0x13):""
//20(0x14):""
//21(0x15):""
//22(0x16):""
//23(0x17):""
//24(0x18):""
//25(0x19):""
//26(0x1a):""
//27(0x1b):""
//28(0x1c):""
//29(0x1d):""
//30(0x1e):""
//31(0x1f):""
//32(0x20):" "
//33(0x21):"!"
//34(0x22):"\""
//35(0x23):"#"
//36(0x24):"$"
//37(0x25):"%"
//38(0x26):"&"
//39(0x27):"'"
//40(0x28):"("
//41(0x29):")"
//42(0x2a):"*"
//43(0x2b):"+"
//44(0x2c):","
//45(0x2d):"-"
//46(0x2e):"."
//47(0x2f):"/"
//48(0x30):"0"
//49(0x31):"1"
//50(0x32):"2"
//51(0x33):"3"
//52(0x34):"4"
//53(0x35):"5"
//54(0x36):"6"
//55(0x37):"7"
//56(0x38):"8"
//57(0x39):"9"
//58(0x3a):":"
//59(0x3b):";"
//60(0x3c):"<"
//61(0x3d):"="
//62(0x3e):">"
//63(0x3f):"?"
//64(0x40):"@"
//65(0x41):"A"
//66(0x42):"B"
//67(0x43):"C"
//68(0x44):"D"
//69(0x45):"E"
//70(0x46):"F"
//71(0x47):"G"
//72(0x48):"H"
//73(0x49):"I"
//74(0x4a):"J"
//75(0x4b):"K"
//76(0x4c):"L"
//77(0x4d):"M"
//78(0x4e):"N"
//79(0x4f):"O"
//80(0x50):"P"
//81(0x51):"Q"
//82(0x52):"R"
//83(0x53):"S"
//84(0x54):"T"
//85(0x55):"U"
//86(0x56):"V"
//87(0x57):"W"
//88(0x58):"X"
//89(0x59):"Y"
//90(0x5a):"Z"
//91(0x5b):"["
//92(0x5c):"\"
//93(0x5d):"]"
//94(0x5e):"^"
//95(0x5f):"_"
//96(0x60):"`"
//97(0x61):"a"
//98(0x62):"b"
//99(0x63):"c"
//100(0x64):"d"
//101(0x65):"e"
//102(0x66):"f"
//103(0x67):"g"
//104(0x68):"h"
//105(0x69):"i"
//106(0x6a):"j"
//107(0x6b):"k"
//108(0x6c):"l"
//109(0x6d):"m"
//110(0x6e):"n"
//111(0x6f):"o"
//112(0x70):"p"
//113(0x71):"q"
//114(0x72):"r"
//115(0x73):"s"
//116(0x74):"t"
//117(0x75):"u"
//118(0x76):"v"
//119(0x77):"w"
//120(0x78):"x"
//121(0x79):"y"
//122(0x7a):"z"
//123(0x7b):"{"
//124(0x7c):"|"
//125(0x7d):"}"
//126(0x7e):"~"
//127(0x7f):""
//128(0x80):""
//129(0x81):""
//130(0x82):""
//131(0x83):""
//132(0x84):""
//133(0x85):""
//134(0x86):""
//135(0x87):""
//136(0x88):""
//137(0x89):""
//138(0x8a):""
//139(0x8b):""
//140(0x8c):""
//141(0x8d):""
//142(0x8e):""
//143(0x8f):""
//144(0x90):""
//145(0x91):""
//146(0x92):""
//147(0x93):""
//148(0x94):""
//149(0x95):""
//150(0x96):""
//151(0x97):""
//152(0x98):""
//153(0x99):""
//154(0x9a):""
//155(0x9b):""
//156(0x9c):""
//157(0x9d):""
//158(0x9e):""
//159(0x9f):""
//160(0xa0):" "
//161(0xa1):"¡"
//162(0xa2):"¢"
//163(0xa3):"£"
//164(0xa4):"¤"
//165(0xa5):"¥"
//166(0xa6):"¦"
//167(0xa7):"§"
//168(0xa8):"¨"
//169(0xa9):"©"
//170(0xaa):"ª"
//171(0xab):"«"
//172(0xac):"¬"
//173(0xad):"­"
//174(0xae):"®"
//175(0xaf):"¯"
//176(0xb0):"°"
//177(0xb1):"±"
//178(0xb2):"²"
//179(0xb3):"³"
//180(0xb4):"´"
//181(0xb5):"µ"
//182(0xb6):"¶"
//183(0xb7):"·"
//184(0xb8):"¸"
//185(0xb9):"¹"
//186(0xba):"º"
//187(0xbb):"»"
//188(0xbc):"¼"
//189(0xbd):"½"
//190(0xbe):"¾"
//191(0xbf):"¿"
//192(0xc0):"À"
//193(0xc1):"Á"
//194(0xc2):"Â"
//195(0xc3):"Ã"
//196(0xc4):"Ä"
//197(0xc5):"Å"
//198(0xc6):"Æ"
//199(0xc7):"Ç"
//200(0xc8):"È"
//201(0xc9):"É"
//202(0xca):"Ê"
//203(0xcb):"Ë"
//204(0xcc):"Ì"
//205(0xcd):"Í"
//206(0xce):"Î"
//207(0xcf):"Ï"
//208(0xd0):"Ð"
//209(0xd1):"Ñ"
//210(0xd2):"Ò"
//211(0xd3):"Ó"
//212(0xd4):"Ô"
//213(0xd5):"Õ"
//214(0xd6):"Ö"
//215(0xd7):"×"
//216(0xd8):"Ø"
//217(0xd9):"Ù"
//218(0xda):"Ú"
//219(0xdb):"Û"
//220(0xdc):"Ü"
//221(0xdd):"Ý"
//222(0xde):"Þ"
//223(0xdf):"ß"
//224(0xe0):"à"
//225(0xe1):"á"
//226(0xe2):"â"
//227(0xe3):"ã"
//228(0xe4):"ä"
//229(0xe5):"å"
//230(0xe6):"æ"
//231(0xe7):"ç"
//232(0xe8):"è"
//233(0xe9):"é"
//234(0xea):"ê"
//235(0xeb):"ë"
//236(0xec):"ì"
//237(0xed):"í"
//238(0xee):"î"
//239(0xef):"ï"
//240(0xf0):"ð"
//241(0xf1):"ñ"
//242(0xf2):"ò"
//243(0xf3):"ó"
//244(0xf4):"ô"
//245(0xf5):"õ"
//246(0xf6):"ö"
//247(0xf7):"÷"
//248(0xf8):"ø"
//249(0xf9):"ù"
//250(0xfa):"ú"
//251(0xfb):"û"
//252(0xfc):"ü"
//253(0xfd):"ý"
//254(0xfe):"þ"
//255(0xff):"ÿ"


//中文：/[\u4e00-\u9fa5]/

/*
trace("\\x00");
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\	\"==\"	\" //"+("\	"=="	"));
trace("\\n");
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\\r");
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\ \"==\" \" //"+("\ "==" "));
trace("\"\\!\"==\"!\" //"+("\!"=="!"));
trace("\\\"");
trace("\"\\#\"==\"#\" //"+("\#"=="#"));
trace("\"\\$\"==\"$\" //"+("\$"=="$"));
trace("\"\\%\"==\"%\" //"+("\%"=="%"));
trace("\"\\&\"==\"&\" //"+("\&"=="&"));
trace("\"\\'\"==\"'\" //"+("\'"=="'"));
trace("\"\\(\"==\"(\" //"+("\("=="("));
trace("\"\\)\"==\")\" //"+("\)"==")"));
trace("\"\\*\"==\"*\" //"+("\*"=="*"));
trace("\"\\+\"==\"+\" //"+("\+"=="+"));
trace("\"\\,\"==\",\" //"+("\,"==","));
trace("\"\\-\"==\"-\" //"+("\-"=="-"));
trace("\"\\.\"==\".\" //"+("\."=="."));
trace("\"\\/\"==\"/\" //"+("\/"=="/"));
trace("\"\\0\"==\"0\" //"+("\0"=="0"));
trace("\"\\1\"==\"1\" //"+("\1"=="1"));
trace("\"\\2\"==\"2\" //"+("\2"=="2"));
trace("\"\\3\"==\"3\" //"+("\3"=="3"));
trace("\"\\4\"==\"4\" //"+("\4"=="4"));
trace("\"\\5\"==\"5\" //"+("\5"=="5"));
trace("\"\\6\"==\"6\" //"+("\6"=="6"));
trace("\"\\7\"==\"7\" //"+("\7"=="7"));
trace("\"\\8\"==\"8\" //"+("\8"=="8"));
trace("\"\\9\"==\"9\" //"+("\9"=="9"));
trace("\"\\:\"==\":\" //"+("\:"==":"));
trace("\"\\;\"==\";\" //"+("\;"==";"));
trace("\"\\<\"==\"<\" //"+("\<"=="<"));
trace("\"\\=\"==\"=\" //"+("\="=="="));
trace("\"\\>\"==\">\" //"+("\>"==">"));
trace("\"\\?\"==\"?\" //"+("\?"=="?"));
trace("\"\\@\"==\"@\" //"+("\@"=="@"));
trace("\"\\A\"==\"A\" //"+("\A"=="A"));
trace("\"\\B\"==\"B\" //"+("\B"=="B"));
trace("\"\\C\"==\"C\" //"+("\C"=="C"));
trace("\"\\D\"==\"D\" //"+("\D"=="D"));
trace("\"\\E\"==\"E\" //"+("\E"=="E"));
trace("\"\\F\"==\"F\" //"+("\F"=="F"));
trace("\"\\G\"==\"G\" //"+("\G"=="G"));
trace("\"\\H\"==\"H\" //"+("\H"=="H"));
trace("\"\\I\"==\"I\" //"+("\I"=="I"));
trace("\"\\J\"==\"J\" //"+("\J"=="J"));
trace("\"\\K\"==\"K\" //"+("\K"=="K"));
trace("\"\\L\"==\"L\" //"+("\L"=="L"));
trace("\"\\M\"==\"M\" //"+("\M"=="M"));
trace("\"\\N\"==\"N\" //"+("\N"=="N"));
trace("\"\\O\"==\"O\" //"+("\O"=="O"));
trace("\"\\P\"==\"P\" //"+("\P"=="P"));
trace("\"\\Q\"==\"Q\" //"+("\Q"=="Q"));
trace("\"\\R\"==\"R\" //"+("\R"=="R"));
trace("\"\\S\"==\"S\" //"+("\S"=="S"));
trace("\"\\T\"==\"T\" //"+("\T"=="T"));
trace("\"\\U\"==\"U\" //"+("\U"=="U"));
trace("\"\\V\"==\"V\" //"+("\V"=="V"));
trace("\"\\W\"==\"W\" //"+("\W"=="W"));
trace("\"\\X\"==\"X\" //"+("\X"=="X"));
trace("\"\\Y\"==\"Y\" //"+("\Y"=="Y"));
trace("\"\\Z\"==\"Z\" //"+("\Z"=="Z"));
trace("\"\\[\"==\"[\" //"+("\["=="["));
trace("\\");
trace("\"\\]\"==\"]\" //"+("\]"=="]"));
trace("\"\\^\"==\"^\" //"+("\^"=="^"));
trace("\"\\_\"==\"_\" //"+("\_"=="_"));
trace("\"\\`\"==\"`\" //"+("\`"=="`"));
trace("\"\\a\"==\"a\" //"+("\a"=="a"));
trace("\"\\b\"==\"b\" //"+("\b"=="b"));
trace("\"\\c\"==\"c\" //"+("\c"=="c"));
trace("\"\\d\"==\"d\" //"+("\d"=="d"));
trace("\"\\e\"==\"e\" //"+("\e"=="e"));
trace("\"\\f\"==\"f\" //"+("\f"=="f"));
trace("\"\\g\"==\"g\" //"+("\g"=="g"));
trace("\"\\h\"==\"h\" //"+("\h"=="h"));
trace("\"\\i\"==\"i\" //"+("\i"=="i"));
trace("\"\\j\"==\"j\" //"+("\j"=="j"));
trace("\"\\k\"==\"k\" //"+("\k"=="k"));
trace("\"\\l\"==\"l\" //"+("\l"=="l"));
trace("\"\\m\"==\"m\" //"+("\m"=="m"));
trace("\"\\n\"==\"n\" //"+("\n"=="n"));
trace("\"\\o\"==\"o\" //"+("\o"=="o"));
trace("\"\\p\"==\"p\" //"+("\p"=="p"));
trace("\"\\q\"==\"q\" //"+("\q"=="q"));
trace("\"\\r\"==\"r\" //"+("\r"=="r"));
trace("\"\\s\"==\"s\" //"+("\s"=="s"));
trace("\"\\t\"==\"t\" //"+("\t"=="t"));
trace("\"\\u\"==\"u\" //"+("\u"=="u"));
trace("\"\\v\"==\"v\" //"+("\v"=="v"));
trace("\"\\w\"==\"w\" //"+("\w"=="w"));
trace("\"\\x\"==\"x\" //"+("\x"=="x"));
trace("\"\\y\"==\"y\" //"+("\y"=="y"));
trace("\"\\z\"==\"z\" //"+("\z"=="z"));
trace("\"\\{\"==\"{\" //"+("\{"=="{"));
trace("\"\\|\"==\"|\" //"+("\|"=="|"));
trace("\"\\}\"==\"}\" //"+("\}"=="}"));
trace("\"\\~\"==\"~\" //"+("\~"=="~"));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\\"==\"\" //"+("\"==""));
trace("\"\\ \"==\" \" //"+("\ "==" "));
trace("\"\\¡\"==\"¡\" //"+("\¡"=="¡"));
trace("\"\\¢\"==\"¢\" //"+("\¢"=="¢"));
trace("\"\\£\"==\"£\" //"+("\£"=="£"));
trace("\"\\¤\"==\"¤\" //"+("\¤"=="¤"));
trace("\"\\¥\"==\"¥\" //"+("\¥"=="¥"));
trace("\"\\¦\"==\"¦\" //"+("\¦"=="¦"));
trace("\"\\§\"==\"§\" //"+("\§"=="§"));
trace("\"\\¨\"==\"¨\" //"+("\¨"=="¨"));
trace("\"\\©\"==\"©\" //"+("\©"=="©"));
trace("\"\\ª\"==\"ª\" //"+("\ª"=="ª"));
trace("\"\\«\"==\"«\" //"+("\«"=="«"));
trace("\"\\¬\"==\"¬\" //"+("\¬"=="¬"));
trace("\"\\­\"==\"­\" //"+("\­"=="­"));
trace("\"\\®\"==\"®\" //"+("\®"=="®"));
trace("\"\\¯\"==\"¯\" //"+("\¯"=="¯"));
trace("\"\\°\"==\"°\" //"+("\°"=="°"));
trace("\"\\±\"==\"±\" //"+("\±"=="±"));
trace("\"\\²\"==\"²\" //"+("\²"=="²"));
trace("\"\\³\"==\"³\" //"+("\³"=="³"));
trace("\"\\´\"==\"´\" //"+("\´"=="´"));
trace("\"\\µ\"==\"µ\" //"+("\µ"=="µ"));
trace("\"\\¶\"==\"¶\" //"+("\¶"=="¶"));
trace("\"\\·\"==\"·\" //"+("\·"=="·"));
trace("\"\\¸\"==\"¸\" //"+("\¸"=="¸"));
trace("\"\\¹\"==\"¹\" //"+("\¹"=="¹"));
trace("\"\\º\"==\"º\" //"+("\º"=="º"));
trace("\"\\»\"==\"»\" //"+("\»"=="»"));
trace("\"\\¼\"==\"¼\" //"+("\¼"=="¼"));
trace("\"\\½\"==\"½\" //"+("\½"=="½"));
trace("\"\\¾\"==\"¾\" //"+("\¾"=="¾"));
trace("\"\\¿\"==\"¿\" //"+("\¿"=="¿"));
trace("\"\\À\"==\"À\" //"+("\À"=="À"));
trace("\"\\Á\"==\"Á\" //"+("\Á"=="Á"));
trace("\"\\Â\"==\"Â\" //"+("\Â"=="Â"));
trace("\"\\Ã\"==\"Ã\" //"+("\Ã"=="Ã"));
trace("\"\\Ä\"==\"Ä\" //"+("\Ä"=="Ä"));
trace("\"\\Å\"==\"Å\" //"+("\Å"=="Å"));
trace("\"\\Æ\"==\"Æ\" //"+("\Æ"=="Æ"));
trace("\"\\Ç\"==\"Ç\" //"+("\Ç"=="Ç"));
trace("\"\\È\"==\"È\" //"+("\È"=="È"));
trace("\"\\É\"==\"É\" //"+("\É"=="É"));
trace("\"\\Ê\"==\"Ê\" //"+("\Ê"=="Ê"));
trace("\"\\Ë\"==\"Ë\" //"+("\Ë"=="Ë"));
trace("\"\\Ì\"==\"Ì\" //"+("\Ì"=="Ì"));
trace("\"\\Í\"==\"Í\" //"+("\Í"=="Í"));
trace("\"\\Î\"==\"Î\" //"+("\Î"=="Î"));
trace("\"\\Ï\"==\"Ï\" //"+("\Ï"=="Ï"));
trace("\"\\Ð\"==\"Ð\" //"+("\Ð"=="Ð"));
trace("\"\\Ñ\"==\"Ñ\" //"+("\Ñ"=="Ñ"));
trace("\"\\Ò\"==\"Ò\" //"+("\Ò"=="Ò"));
trace("\"\\Ó\"==\"Ó\" //"+("\Ó"=="Ó"));
trace("\"\\Ô\"==\"Ô\" //"+("\Ô"=="Ô"));
trace("\"\\Õ\"==\"Õ\" //"+("\Õ"=="Õ"));
trace("\"\\Ö\"==\"Ö\" //"+("\Ö"=="Ö"));
trace("\"\\×\"==\"×\" //"+("\×"=="×"));
trace("\"\\Ø\"==\"Ø\" //"+("\Ø"=="Ø"));
trace("\"\\Ù\"==\"Ù\" //"+("\Ù"=="Ù"));
trace("\"\\Ú\"==\"Ú\" //"+("\Ú"=="Ú"));
trace("\"\\Û\"==\"Û\" //"+("\Û"=="Û"));
trace("\"\\Ü\"==\"Ü\" //"+("\Ü"=="Ü"));
trace("\"\\Ý\"==\"Ý\" //"+("\Ý"=="Ý"));
trace("\"\\Þ\"==\"Þ\" //"+("\Þ"=="Þ"));
trace("\"\\ß\"==\"ß\" //"+("\ß"=="ß"));
trace("\"\\à\"==\"à\" //"+("\à"=="à"));
trace("\"\\á\"==\"á\" //"+("\á"=="á"));
trace("\"\\â\"==\"â\" //"+("\â"=="â"));
trace("\"\\ã\"==\"ã\" //"+("\ã"=="ã"));
trace("\"\\ä\"==\"ä\" //"+("\ä"=="ä"));
trace("\"\\å\"==\"å\" //"+("\å"=="å"));
trace("\"\\æ\"==\"æ\" //"+("\æ"=="æ"));
trace("\"\\ç\"==\"ç\" //"+("\ç"=="ç"));
trace("\"\\è\"==\"è\" //"+("\è"=="è"));
trace("\"\\é\"==\"é\" //"+("\é"=="é"));
trace("\"\\ê\"==\"ê\" //"+("\ê"=="ê"));
trace("\"\\ë\"==\"ë\" //"+("\ë"=="ë"));
trace("\"\\ì\"==\"ì\" //"+("\ì"=="ì"));
trace("\"\\í\"==\"í\" //"+("\í"=="í"));
trace("\"\\î\"==\"î\" //"+("\î"=="î"));
trace("\"\\ï\"==\"ï\" //"+("\ï"=="ï"));
trace("\"\\ð\"==\"ð\" //"+("\ð"=="ð"));
trace("\"\\ñ\"==\"ñ\" //"+("\ñ"=="ñ"));
trace("\"\\ò\"==\"ò\" //"+("\ò"=="ò"));
trace("\"\\ó\"==\"ó\" //"+("\ó"=="ó"));
trace("\"\\ô\"==\"ô\" //"+("\ô"=="ô"));
trace("\"\\õ\"==\"õ\" //"+("\õ"=="õ"));
trace("\"\\ö\"==\"ö\" //"+("\ö"=="ö"));
trace("\"\\÷\"==\"÷\" //"+("\÷"=="÷"));
trace("\"\\ø\"==\"ø\" //"+("\ø"=="ø"));
trace("\"\\ù\"==\"ù\" //"+("\ù"=="ù"));
trace("\"\\ú\"==\"ú\" //"+("\ú"=="ú"));
trace("\"\\û\"==\"û\" //"+("\û"=="û"));
trace("\"\\ü\"==\"ü\" //"+("\ü"=="ü"));
trace("\"\\ý\"==\"ý\" //"+("\ý"=="ý"));
trace("\"\\þ\"==\"þ\" //"+("\þ"=="þ"));
trace("\"\\ÿ\"==\"ÿ\" //"+("\ÿ"=="ÿ"));

000
\x00
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\	"=="	" //true
\n
"\"=="" //true
"\"=="" //true
\r
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\ "==" " //true
"\!"=="!" //true
\"
"\#"=="#" //true
"\$"=="$" //true
"\%"=="%" //true
"\&"=="&" //true
"\'"=="'" //true
"\("=="(" //true
"\)"==")" //true
"\*"=="*" //true
"\+"=="+" //true
"\,"=="," //true
"\-"=="-" //true
"\."=="." //true
"\/"=="/" //true
"\0"=="0" //true
"\1"=="1" //true
"\2"=="2" //true
"\3"=="3" //true
"\4"=="4" //true
"\5"=="5" //true
"\6"=="6" //true
"\7"=="7" //true
"\8"=="8" //true
"\9"=="9" //true
"\:"==":" //true
"\;"==";" //true
"\<"=="<" //true
"\="=="=" //true
"\>"==">" //true
"\?"=="?" //true
"\@"=="@" //true
"\A"=="A" //true
"\B"=="B" //true
"\C"=="C" //true
"\D"=="D" //true
"\E"=="E" //true
"\F"=="F" //true
"\G"=="G" //true
"\H"=="H" //true
"\I"=="I" //true
"\J"=="J" //true
"\K"=="K" //true
"\L"=="L" //true
"\M"=="M" //true
"\N"=="N" //true
"\O"=="O" //true
"\P"=="P" //true
"\Q"=="Q" //true
"\R"=="R" //true
"\S"=="S" //true
"\T"=="T" //true
"\U"=="U" //true
"\V"=="V" //true
"\W"=="W" //true
"\X"=="X" //true
"\Y"=="Y" //true
"\Z"=="Z" //true
"\["=="[" //true
\
"\]"=="]" //true
"\^"=="^" //true
"\_"=="_" //true
"\`"=="`" //true
"\a"=="a" //true
"\b"=="b" //false
"\c"=="c" //true
"\d"=="d" //true
"\e"=="e" //true
"\f"=="f" //false
"\g"=="g" //true
"\h"=="h" //true
"\i"=="i" //true
"\j"=="j" //true
"\k"=="k" //true
"\l"=="l" //true
"\m"=="m" //true
"\n"=="n" //false
"\o"=="o" //true
"\p"=="p" //true
"\q"=="q" //true
"\r"=="r" //false
"\s"=="s" //true
"\t"=="t" //false
"\u"=="u" //true
"\v"=="v" //false
"\w"=="w" //true
"\x"=="x" //true
"\y"=="y" //true
"\z"=="z" //true
"\{"=="{" //true
"\|"=="|" //true
"\}"=="}" //true
"\~"=="~" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\"=="" //true
"\ "==" " //true
"\¡"=="¡" //true
"\¢"=="¢" //true
"\£"=="£" //true
"\¤"=="¤" //true
"\¥"=="¥" //true
"\¦"=="¦" //true
"\§"=="§" //true
"\¨"=="¨" //true
"\©"=="©" //true
"\ª"=="ª" //true
"\«"=="«" //true
"\¬"=="¬" //true
"\­"=="­" //true
"\®"=="®" //true
"\¯"=="¯" //true
"\°"=="°" //true
"\±"=="±" //true
"\²"=="²" //true
"\³"=="³" //true
"\´"=="´" //true
"\µ"=="µ" //true
"\¶"=="¶" //true
"\·"=="·" //true
"\¸"=="¸" //true
"\¹"=="¹" //true
"\º"=="º" //true
"\»"=="»" //true
"\¼"=="¼" //true
"\½"=="½" //true
"\¾"=="¾" //true
"\¿"=="¿" //true
"\À"=="À" //true
"\Á"=="Á" //true
"\Â"=="Â" //true
"\Ã"=="Ã" //true
"\Ä"=="Ä" //true
"\Å"=="Å" //true
"\Æ"=="Æ" //true
"\Ç"=="Ç" //true
"\È"=="È" //true
"\É"=="É" //true
"\Ê"=="Ê" //true
"\Ë"=="Ë" //true
"\Ì"=="Ì" //true
"\Í"=="Í" //true
"\Î"=="Î" //true
"\Ï"=="Ï" //true
"\Ð"=="Ð" //true
"\Ñ"=="Ñ" //true
"\Ò"=="Ò" //true
"\Ó"=="Ó" //true
"\Ô"=="Ô" //true
"\Õ"=="Õ" //true
"\Ö"=="Ö" //true
"\×"=="×" //true
"\Ø"=="Ø" //true
"\Ù"=="Ù" //true
"\Ú"=="Ú" //true
"\Û"=="Û" //true
"\Ü"=="Ü" //true
"\Ý"=="Ý" //true
"\Þ"=="Þ" //true
"\ß"=="ß" //true
"\à"=="à" //true
"\á"=="á" //true
"\â"=="â" //true
"\ã"=="ã" //true
"\ä"=="ä" //true
"\å"=="å" //true
"\æ"=="æ" //true
"\ç"=="ç" //true
"\è"=="è" //true
"\é"=="é" //true
"\ê"=="ê" //true
"\ë"=="ë" //true
"\ì"=="ì" //true
"\í"=="í" //true
"\î"=="î" //true
"\ï"=="ï" //true
"\ð"=="ð" //true
"\ñ"=="ñ" //true
"\ò"=="ò" //true
"\ó"=="ó" //true
"\ô"=="ô" //true
"\õ"=="õ" //true
"\ö"=="ö" //true
"\÷"=="÷" //true
"\ø"=="ø" //true
"\ù"=="ù" //true
"\ú"=="ú" //true
"\û"=="û" //true
"\ü"=="ü" //true
"\ý"=="ý" //true
"\þ"=="þ" //true
"\ÿ"=="ÿ" //true
*/